package com.read.service;

import com.read.dto.params.NovelNameParamsDto;
import com.read.dto.result.NovelContentResultDto;
import com.read.dto.result.NovelNameResultDto;
import com.read.dto.result.NovelSectionResultDto;
import com.read.dto.result.NovelTypeResultDto;

import java.util.List;
import java.util.Map;

public interface NovelService {

    /** 
     * @description 根据条件查询小说
     * @author sh-sunb6 
     * @date 2019-02-19 17:22
     * @params novelType、title、userName
     */
    public List<NovelNameResultDto> selectNovelByParams(NovelNameParamsDto paramsDto);

    /**
     * @description 根据小说id查询章节信息
     * @author sh-sunb6
     * @date 2019-02-20 17:45
     * @param novelId
     */
    public List<NovelSectionResultDto> selectNovelSectionByNovelId(int novelId, int pageNum, int pageSize);

    /**
     * @description 根据章节id查询小说正文
     * @author sh-sunb6
     * @date 2019-02-20 17:48
     * @param sectionId
     */
    public Map<String, Object> selectNovelContentBySectionId(int novelId, int sectionId, int sort);

    /**
     * @description 根据小说channel获取小说类型
     * @author sh-sunb6
     * @date 2019-03-03 16:30
     * @param channel 类型归属：1男生频道，2女生频道，3二次元，9其他
     */
    public List<NovelTypeResultDto> getNovelTypeByChannel(int channel);

    /**
     * @description 根据条件查询小说
     * @author sh-sunb6
     * @date 2019-02-19 17:22
     * @params novelType、title、userName
     */
    public NovelNameResultDto selectNovelInfoByNovelId(int novelId);

    /**
     * @description 获取小说第一章id
     * @author sh-sunb6
     * @date 2019-03-18 15:37
     */
    public int selectFirstSectionIdByNovelId(int novelId);

}
